home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / src / enable.s < prev    next >
Text File  |  1999-02-04  |  30KB  |  2,030 lines

  1.  
  2. ; Storm C Compiler
  3. ; Work2:Mesa3/Mesa-3.0/src/enable.c
  4.     mc68030
  5.     mc68881
  6.     XREF    _gl_set_color_function
  7.     XREF    _gl_set_material
  8.     XREF    _gl_error
  9.     XREF    _gl_warning
  10.     XREF    _CC
  11.  
  12.     SECTION "_gl_enable:0",CODE
  13.  
  14.  
  15. ;static void gl_enable( GLcontext* ctx, GLenum cap, GLboolean state )
  16. _gl_enable
  17. L341    EQU    -$20
  18.     link    a5,#L341
  19.     movem.l    d2/d3/a2,-(a7)
  20.     move.b    $10(a5),d0
  21.     move.l    $C(a5),d2
  22.     move.l    $8(a5),a2
  23. L185
  24. ;   GLuint texSet = ctx->Texture.CurrentSet;
  25.     move.l    a2,a0
  26.     add.l    #$DEBA,a0
  27.     move.l    (a0),d1
  28. ;   if (INSIDE_BEGIN_END(ctx)) 
  29.     move.l    a2,a0
  30.     add.l    #$E968,a0
  31.     move.l    (a0),d3
  32.     cmp.l    #$1A00,d3
  33.     beq.b    L190
  34. L186
  35. ;      if (state) 
  36.     tst.b    d0
  37.     beq.b    L188
  38. L187
  39. ;     gl_error( ctx, GL_INVALID_OPERATION, "glEnable" );
  40.     move.l    #L181,-(a7)
  41.     pea    $502.w
  42.     move.l    a2,-(a7)
  43.     jsr    _gl_error
  44.     add.w    #$C,a7
  45.     bra.b    L189
  46. L188
  47. ;     gl_error( ctx, GL_INVALID_OPERATION, "glDisable" );
  48.     move.l    #L182,-(a7)
  49.     pea    $502.w
  50.     move.l    a2,-(a7)
  51.     jsr    _gl_error
  52.     add.w    #$C,a7
  53. L189
  54.     movem.l    (a7)+,d2/d3/a2
  55.     unlk    a5
  56.     rts
  57. L190
  58. ;   switch (cap)
  59.     move.l    d2,d3
  60.     cmp.l    #$DB2,d3
  61.     beq    L257
  62.     bgt    L342
  63.     cmp.l    #$C11,d3
  64.     beq    L284
  65.     bgt    L343
  66.     cmp.l    #$B60,d3
  67.     beq    L227
  68.     bgt.b    L344
  69.     cmp.l    #$B42,d3
  70.     beq    L271
  71.     bgt.b    L345
  72.     cmp.l    #$B24,d3
  73.     beq    L237
  74.     bgt.b    L346
  75.     cmp.l    #$B10,d3
  76.     beq    L265
  77.     cmp.l    #$B20,d3
  78.     beq    L234
  79.     bra    L336
  80. L346
  81.     cmp.l    #$B41,d3
  82.     beq    L268
  83.     bra    L336
  84. L345
  85.     cmp.l    #$B50,d3
  86.     beq    L231
  87.     bgt.b    L347
  88.     cmp.l    #$B44,d3
  89.     beq    L213
  90.     bra    L336
  91. L347
  92.     cmp.l    #$B57,d3
  93.     beq    L208
  94.     bra    L336
  95. L344
  96.     cmp.l    #$BD0,d3
  97.     beq    L222
  98.     bgt.b    L348
  99.     cmp.l    #$BA1,d3
  100.     beq    L264
  101.     bgt.b    L349
  102.     cmp.l    #$B71,d3
  103.     beq    L216
  104.     cmp.l    #$B90,d3
  105.     beq    L290
  106.     bra    L336
  107. L349
  108.     cmp.l    #$BC0,d3
  109.     beq    L191
  110.     bra    L336
  111. L348
  112.     cmp.l    #$BF1,d3
  113.     beq    L240
  114.     bgt.b    L350
  115.     cmp.l    #$BE2,d3
  116.     beq    L195
  117.     bra    L336
  118. L350
  119.     cmp.l    #$BF2,d3
  120.     beq    L243
  121.     bra    L336
  122. L343
  123.     cmp.l    #$D93,d3
  124.     beq    L249
  125.     bgt.b    L351
  126.     cmp.l    #$D80,d3
  127.     beq    L194
  128.     bgt.b    L352
  129.     cmp.l    #$C62,d3
  130.     beq    L318
  131.     bgt.b    L353
  132.     cmp.l    #$C60,d3
  133.     beq    L322
  134.     cmp.l    #$C61,d3
  135.     beq    L326
  136.     bra    L336
  137. L353
  138.     cmp.l    #$C63,d3
  139.     beq    L314
  140.     bra    L336
  141. L352
  142.     cmp.l    #$D91,d3
  143.     beq    L247
  144.     bgt.b    L354
  145.     cmp.l    #$D90,d3
  146.     beq    L246
  147.     bra    L336
  148. L354
  149.     bgt    L248
  150. L351
  151.     cmp.l    #$D97,d3
  152.     beq    L253
  153.     bgt.b    L355
  154.     cmp.l    #$D95,d3
  155.     beq    L251
  156.     bgt.b    L356
  157.     blt    L250
  158. L356
  159.     bgt    L252
  160. L355
  161.     cmp.l    #$DB0,d3
  162.     beq    L255
  163.     bgt.b    L357
  164.     cmp.l    #$D98,d3
  165.     beq    L254
  166.     bra    L336
  167. L357
  168.     bgt    L256
  169. L342
  170.     cmp.l    #$4001,d3
  171.     beq    L230
  172.     bgt    L358
  173.     cmp.l    #$2A01,d3
  174.     beq    L274
  175.     bgt.b    L359
  176.     cmp.l    #$DB7,d3
  177.     beq    L262
  178.     bgt.b    L360
  179.     cmp.l    #$DB5,d3
  180.     beq    L260
  181.     bgt.b    L361
  182.     cmp.l    #$DB3,d3
  183.     beq    L258
  184.     cmp.l    #$DB4,d3
  185.     beq    L259
  186.     bra    L336
  187. L361
  188.     bgt    L261
  189. L360
  190.     cmp.l    #$DE0,d3
  191.     beq    L296
  192.     bgt.b    L362
  193.     cmp.l    #$DB8,d3
  194.     beq    L263
  195.     bra    L336
  196. L362
  197.     cmp.l    #$DE1,d3
  198.     beq    L302
  199.     bra    L336
  200. L359
  201.     cmp.l    #$3003,d3
  202.     beq    L202
  203.     bgt.b    L363
  204.     cmp.l    #$3001,d3
  205.     beq    L202
  206.     bgt.b    L364
  207.     cmp.l    #$2A02,d3
  208.     beq    L277
  209.     cmp.l    #$3000,d3
  210.     beq    L202
  211.     bra    L336
  212. L364
  213.     bgt    L202
  214. L363
  215.     cmp.l    #$3005,d3
  216.     beq    L202
  217.     bgt.b    L365
  218.     blt    L202
  219. L365
  220.     cmp.l    #$4000,d3
  221.     beq    L230
  222.     bra    L336
  223. L358
  224.     cmp.l    #$806F,d3
  225.     beq    L308
  226.     bgt.b    L366
  227.     cmp.l    #$4006,d3
  228.     beq    L230
  229.     bgt.b    L367
  230.     cmp.l    #$4004,d3
  231.     beq    L230
  232.     bgt.b    L368
  233.     cmp.l    #$4002,d3
  234.     beq    L230
  235.     cmp.l    #$4003,d3
  236.     beq    L230
  237.     bra    L336
  238. L368
  239.     bgt    L230
  240. L367
  241.     cmp.l    #$8037,d3
  242.     beq    L280
  243.     bgt.b    L369
  244.     cmp.l    #$4007,d3
  245.     beq    L230
  246.     bra    L336
  247. L369
  248.     cmp.l    #$803A,d3
  249.     beq    L283
  250.     bra    L336
  251. L366
  252.     cmp.l    #$8077,d3
  253.     beq    L333
  254.     bgt.b    L370
  255.     cmp.l    #$8075,d3
  256.     beq    L331
  257.     bgt.b    L371
  258.     cmp.l    #$8074,d3
  259.     beq    L330
  260.     bra    L336
  261. L371
  262.     bgt    L332
  263. L370
  264.     cmp.l    #$8079,d3
  265.     beq    L335
  266.     bgt.b    L372
  267.     blt    L334
  268. L372
  269.     cmp.l    #$81FB,d3
  270.     beq    L287
  271.     bra    L336
  272. ;      
  273. L191
  274. ;     if (ctx->Color.AlphaEnabled!=state) 
  275.     move.b    $21E6(a2),d1
  276.     cmp.b    d0,d1
  277.     beq    L340
  278. L192
  279. ;        ctx->Color.AlphaEnabled = state;
  280.     move.b    d0,$21E6(a2)
  281. ;        ctx->NewState |= NEW_RASTER_OPS;
  282.     move.l    a2,a0
  283.     add.l    #$E960,a0
  284.     move.l    (a0),d0
  285.     or.l    #2,d0
  286.     move.l    a2,a0
  287.     add.l    #$E960,a0
  288.     move.l    d0,(a0)
  289. L193
  290. ;     
  291.     bra    L340
  292. L194
  293. ;     ctx->Eval.AutoNormal = state;
  294.     move.b    d0,$22B8(a2)
  295. ;     
  296.     bra    L340
  297. L195
  298. ;     if (ctx->Color.BlendEnabled!=state) 
  299.     move.b    $21ED(a2),d1
  300.     cmp.b    d0,d1
  301.     beq    L340
  302. L196
  303. ;        ctx->Color.BlendEnabled = state;
  304.     move.b    d0,$21ED(a2)
  305. ;        if (ctx->Color.BlendEquation==GL_LOGIC_OP && state) 
  306.     move.l    $21F6(a2),d1
  307.     cmp.l    #$BF1,d1
  308.     bne.b    L199
  309. L197
  310.     tst.b    d0
  311.     beq.b    L199
  312. L198
  313. ;           ctx->Color.ColorLogicOpEnabled = GL_TRUE;
  314.     move.b    #1,$2213(a2)
  315.     bra.b    L200
  316. L199
  317. ;           ctx->Color.ColorLogicOpEnabled = GL_FALSE;
  318.     clr.b    $2213(a2)
  319. L200
  320. ;        ctx->NewState |= NEW_RASTER_OPS;
  321.     move.l    a2,a0
  322.     add.l    #$E960,a0
  323.     move.l    (a0),d0
  324.     or.l    #2,d0
  325.     move.l    a2,a0
  326.     add.l    #$E960,a0
  327.     move.l    d0,(a0)
  328. L201
  329. ;     
  330.     bra    L340
  331. L202
  332. ;     ctx->Transform.ClipEnabled[cap-GL_CLIP_PLANE0] = state;
  333.     move.l    a2,a0
  334.     add.l    #$E536,a0
  335.     lea    -$3000(a0),a0
  336.     move.b    d0,0(a0,d2.l)
  337. ;     ctx->Transform.AnyClip = GL_FALSE;
  338.     move.l    a2,a0
  339.     add.l    #$E53C,a0
  340.     clr.b    (a0)
  341. ;     for (p=0;
  342.     moveq    #0,d0
  343.     bra.b    L206
  344. L203
  345. ;        if (ctx->Transform.ClipEnabled[p]) 
  346.     move.l    a2,a0
  347.     add.l    #$E536,a0
  348.     tst.b    0(a0,d0.l)
  349.     beq.b    L205
  350. L204
  351. ;           ctx->Transform.AnyClip = GL_TRUE;
  352.     move.l    a2,a0
  353.     add.l    #$E53C,a0
  354.     move.b    #1,(a0)
  355. ;           
  356.     bra    L340
  357. L205
  358.     addq.l    #1,d0
  359. L206
  360.     cmp.l    #6,d0
  361.     blo.b    L203
  362. L207
  363. ;     
  364.     bra    L340
  365. L208
  366. ;     if (ctx->Light.ColorMaterialEnabled!=state) 
  367.     lea    $2318(a2),a0
  368.     add.l    #$8E18,a0
  369.     move.b    (a0),d1
  370.     cmp.b    d0,d1
  371.     beq    L340
  372. L209
  373. ;        ctx->Light.ColorMaterialEnabled = state;
  374.     move.l    a2,a0
  375.     add.l    #$B130,a0
  376.     move.b    d0,(a0)
  377. ;        if (state) 
  378.     beq    L211
  379. L210
  380. ;           color[0] = ctx->Current.ByteColor[0] * (1.0F / 255.0
  381.     moveq    #0,d0
  382.     move.b    $2216(a2),d0
  383.     fmove.l    d0,fp0
  384.     fmul.s    #$.3B808080,fp0
  385.     fmove.s    fp0,-$18(a5)
  386. ;           color[1] = ctx->Current.ByteColor[1] * (1.0F / 255.0
  387.     lea    $2216(a2),a0
  388.     moveq    #0,d0
  389.     move.b    1(a0),d0
  390.     fmove.l    d0,fp0
  391.     fmul.s    #$.3B808080,fp0
  392.     lea    -$18(a5),a0
  393.     fmove.s    fp0,4(a0)
  394. ;           color[2] = ctx->Current.ByteColor[2] * (1.0F / 255.0
  395.     lea    $2216(a2),a0
  396.     moveq    #0,d0
  397.     move.b    2(a0),d0
  398.     fmove.l    d0,fp0
  399.     fmul.s    #$.3B808080,fp0
  400.     lea    -$18(a5),a0
  401.     fmove.s    fp0,$8(a0)
  402. ;           color[3] = ctx->Current.ByteColor[3] * (1.0F / 255.0
  403.     lea    $2216(a2),a0
  404.     moveq    #0,d0
  405.     move.b    3(a0),d0
  406.     fmove.l    d0,fp0
  407.     fmul.s    #$.3B808080,fp0
  408.     lea    -$18(a5),a0
  409.     fmove.s    fp0,$C(a0)
  410. ;           gl_set_material( ctx, ctx->Light.ColorMaterialBitmas
  411.     pea    -$18(a5)
  412.     lea    $2318(a2),a0
  413.     add.l    #$8E14,a0
  414.     move.l    (a0),-(a7)
  415.     move.l    a2,-(a7)
  416.     jsr    _gl_set_material
  417.     add.w    #$C,a7
  418. L211
  419. ;        gl_set_color_function(ctx);
  420.     move.l    a2,-(a7)
  421.     jsr    _gl_set_color_function
  422.     addq.w    #4,a7
  423. ;        ctx->NewState |= NEW_LIGHTING;
  424.     move.l    a2,a0
  425.     add.l    #$E960,a0
  426.     move.l    (a0),d0
  427.     or.l    #1,d0
  428.     move.l    a2,a0
  429.     add.l    #$E960,a0
  430.     move.l    d0,(a0)
  431. L212
  432. ;     
  433.     bra    L340
  434. L213
  435. ;     if (ctx->Polygon.CullFlag!=state) 
  436.     move.l    a2,a0
  437.     add.l    #$DDEE,a0
  438.     move.b    $D(a0),d1
  439.     cmp.b    d0,d1
  440.     beq    L340
  441. L214
  442. ;        ctx->Polygon.CullFlag = state;
  443.     move.l    a2,a0
  444.     add.l    #$DDFB,a0
  445.     move.b    d0,(a0)
  446. ;        ctx->NewState |= NEW_POLYGON;
  447.     move.l    a2,a0
  448.     add.l    #$E960,a0
  449.     move.l    (a0),d0
  450.     or.l    #$8,d0
  451.     move.l    a2,a0
  452.     add.l    #$E960,a0
  453.     move.l    d0,(a0)
  454. L215
  455. ;     
  456.     bra    L340
  457. L216
  458. ;     if (state && ctx->Visual->DepthBits==0) 
  459.     tst.b    d0
  460.     beq.b    L219
  461. L217
  462.     move.l    $8F8(a2),a0
  463.     tst.l    $1C(a0)
  464.     bne.b    L219
  465. L218
  466. ;        gl_warning(ctx,"glEnable(GL_DEPTH_TEST) but no depth buffe
  467.     move.l    #L183,-(a7)
  468.     move.l    a2,-(a7)
  469.     jsr    _gl_warning
  470.     addq.w    #$8,a7
  471.     movem.l    (a7)+,d2/d3/a2
  472.     unlk    a5
  473.     rts
  474. L219
  475. ;     if (ctx->Depth.Test!=state) 
  476.     move.b    $22A4(a2),d1
  477.     cmp.b    d0,d1
  478.     beq    L340
  479. L220
  480. ;        ctx->Depth.Test = state;
  481.     move.b    d0,$22A4(a2)
  482. ;        ctx->NewState |= NEW_RASTER_OPS;
  483.     move.l    a2,a0
  484.     add.l    #$E960,a0
  485.     move.l    (a0),d0
  486.     or.l    #2,d0
  487.     move.l    a2,a0
  488.     add.l    #$E960,a0
  489.     move.l    d0,(a0)
  490. L221
  491. ;     
  492.     bra    L340
  493. L222
  494. ;     if (ctx->NoDither) 
  495.     move.l    a2,a0
  496.     add.l    #$E99D,a0
  497.     tst.b    (a0)
  498.     beq.b    L224
  499. L223
  500. ;        state = GL_FALSE;
  501.     moveq    #0,d0
  502. L224
  503. ;     if (ctx->Color.DitherFlag!=state) 
  504.     move.b    $2215(a2),d1
  505.     cmp.b    d0,d1
  506.     beq    L340
  507. L225
  508. ;        ctx->Color.DitherFlag = state;
  509.     move.b    d0,$2215(a2)
  510. ;        ctx->NewState |= NEW_RASTER_OPS;
  511.     move.l    a2,a0
  512.     add.l    #$E960,a0
  513.     move.l    (a0),d0
  514.     or.l    #2,d0
  515.     move.l    a2,a0
  516.     add.l    #$E960,a0
  517.     move.l    d0,(a0)
  518. L226
  519. ;     
  520.     bra    L340
  521. L227
  522. ;     if (ctx->Fog.Enabled!=state) 
  523.     move.b    $22DE(a2),d1
  524.     cmp.b    d0,d1
  525.     beq    L340
  526. L228
  527. ;        ctx->Fog.Enabled = state;
  528.     move.b    d0,$22DE(a2)
  529. ;        ctx->NewState |= NEW_RASTER_OPS;
  530.     move.l    a2,a0
  531.     add.l    #$E960,a0
  532.     move.l    (a0),d0
  533.     or.l    #2,d0
  534.     move.l    a2,a0
  535.     add.l    #$E960,a0
  536.     move.l    d0,(a0)
  537. L229
  538. ;     
  539.     bra    L340
  540. L230
  541. ;     ctx->Light.Light[cap-GL_LIGHT0].Enabled = state;
  542.     lea    $2318(a2),a0
  543.     sub.l    #$4388000,a0
  544.     muls.l    #$10E2,d2
  545.     move.b    d0,$68(a0,d2.l)
  546. ;     ctx->NewState |= NEW_LIGHTING;
  547.     move.l    a2,a0
  548.     add.l    #$E960,a0
  549.     move.l    (a0),d0
  550.     or.l    #1,d0
  551.     move.l    a2,a0
  552.     add.l    #$E960,a0
  553.     move.l    d0,(a0)
  554. ;     
  555.     bra    L340
  556. L231
  557. ;     if (ctx->Light.Enabled!=state) 
  558.     lea    $2318(a2),a0
  559.     add.l    #$8E06,a0
  560.     move.b    (a0),d1
  561.     cmp.b    d0,d1
  562.     beq    L340
  563. L232
  564. ;        ctx->Light.Enabled = state;
  565.     move.l    a2,a0
  566.     add.l    #$B11E,a0
  567.     move.b    d0,(a0)
  568. ;        ctx->NewState |= NEW_LIGHTING;
  569.     move.l    a2,a0
  570.     add.l    #$E960,a0
  571.     move.l    (a0),d0
  572.     or.l    #1,d0
  573.     move.l    a2,a0
  574.     add.l    #$E960,a0
  575.     move.l    d0,(a0)
  576. L233
  577. ;     
  578.     bra    L340
  579. L234
  580. ;     if (ctx->Line.SmoothFlag!=state) 
  581.     move.l    a2,a0
  582.     add.l    #$B158,a0
  583.     move.b    (a0),d1
  584.     cmp.b    d0,d1
  585.     beq    L340
  586. L235
  587. ;        ctx->Line.SmoothFlag = state;
  588.     move.l    a2,a0
  589.     add.l    #$B158,a0
  590.     move.b    d0,(a0)
  591. ;        ctx->NewState |= NEW_RASTER_OPS;
  592.     move.l    a2,a0
  593.     add.l    #$E960,a0
  594.     move.l    (a0),d0
  595.     or.l    #2,d0
  596.     move.l    a2,a0
  597.     add.l    #$E960,a0
  598.     move.l    d0,(a0)
  599. L236
  600. ;     
  601.     bra    L340
  602. L237
  603. ;     if (ctx->Line.StippleFlag!=state) 
  604.     move.l    a2,a0
  605.     add.l    #$B158,a0
  606.     move.b    1(a0),d1
  607.     cmp.b    d0,d1
  608.     beq    L340
  609. L238
  610. ;        ctx->Line.StippleFlag = state;
  611.     move.l    a2,a0
  612.     add.l    #$B159,a0
  613.     move.b    d0,(a0)
  614. ;        ctx->NewState |= NEW_RASTER_OPS;
  615.     move.l    a2,a0
  616.     add.l    #$E960,a0
  617.     move.l    (a0),d0
  618.     or.l    #2,d0
  619.     move.l    a2,a0
  620.     add.l    #$E960,a0
  621.     move.l    d0,(a0)
  622. L239
  623. ;     
  624.     bra    L340
  625. L240
  626. ;     if (ctx->Color.IndexLogicOpEnabled!=state) 
  627.     move.b    $2212(a2),d1
  628.     cmp.b    d0,d1
  629.     beq.b    L242
  630. L241
  631. ;        ctx->NewState |= NEW_RASTER_OPS;
  632.     move.l    a2,a0
  633.     add.l    #$E960,a0
  634.     move.l    (a0),d1
  635.     or.l    #2,d1
  636.     move.l    a2,a0
  637.     add.l    #$E960,a0
  638.     move.l    d1,(a0)
  639. L242
  640. ;     ctx->Color.IndexLogicOpEnabled = state;
  641.     move.b    d0,$2212(a2)
  642. ;     
  643.     bra    L340
  644. L243
  645. ;     if (ctx->Color.ColorLogicOpEnabled!=state) 
  646.     move.b    $2213(a2),d1
  647.     cmp.b    d0,d1
  648.     beq.b    L245
  649. L244
  650. ;        ctx->NewState |= NEW_RASTER_OPS;
  651.     move.l    a2,a0
  652.     add.l    #$E960,a0
  653.     move.l    (a0),d1
  654.     or.l    #2,d1
  655.     move.l    a2,a0
  656.     add.l    #$E960,a0
  657.     move.l    d1,(a0)
  658. L245
  659. ;     ctx->Color.ColorLogicOpEnabled = state;
  660.     move.b    d0,$2213(a2)
  661. ;     
  662.     bra    L340
  663. L246
  664. ;     ctx->Eval.Map1Color4 = state;
  665.     move.b    d0,$22A6(a2)
  666. ;     
  667.     bra    L340
  668. L247
  669. ;     ctx->Eval.Map1Index = state;
  670.     move.b    d0,$22A7(a2)
  671. ;     
  672.     bra    L340
  673. L248
  674. ;     ctx->Eval.Map1Normal = state;
  675.     move.b    d0,$22A8(a2)
  676. ;     
  677.     bra    L340
  678. L249
  679. ;     ctx->Eval.Map1TextureCoord1 = state;
  680.     move.b    d0,$22A9(a2)
  681. ;     
  682.     bra    L340
  683. L250
  684. ;     ctx->Eval.Map1TextureCoord2 = state;
  685.     move.b    d0,$22AA(a2)
  686. ;     
  687.     bra    L340
  688. L251
  689. ;     ctx->Eval.Map1TextureCoord3 = state;
  690.     move.b    d0,$22AB(a2)
  691. ;     
  692.     bra    L340
  693. L252
  694. ;     ctx->Eval.Map1TextureCoord4 = state;
  695.     move.b    d0,$22AC(a2)
  696. ;     
  697.     bra    L340
  698. L253
  699. ;     ctx->Eval.Map1Vertex3 = state;
  700.     move.b    d0,$22AD(a2)
  701. ;     
  702.     bra    L340
  703. L254
  704. ;     ctx->Eval.Map1Vertex4 = state;
  705.     move.b    d0,$22AE(a2)
  706. ;     
  707.     bra    L340
  708. L255
  709. ;     ctx->Eval.Map2Color4 = state;
  710.     move.b    d0,$22AF(a2)
  711. ;     
  712.     bra    L340
  713. L256
  714. ;     ctx->Eval.Map2Index = state;
  715.     move.b    d0,$22B0(a2)
  716. ;     
  717.     bra    L340
  718. L257
  719. ;     ctx->Eval.Map2Normal = state;
  720.     move.b    d0,$22B1(a2)
  721. ;     
  722.     bra    L340
  723. L258
  724. ;     ctx->Eval.Map2TextureCoord1 = state;
  725.     move.b    d0,$22B2(a2)
  726. ;     
  727.     bra    L340
  728. L259
  729. ;     ctx->Eval.Map2TextureCoord2 = state;
  730.     move.b    d0,$22B3(a2)
  731. ;     
  732.     bra    L340
  733. L260
  734. ;     ctx->Eval.Map2TextureCoord3 = state;
  735.     move.b    d0,$22B4(a2)
  736. ;     
  737.     bra    L340
  738. L261
  739. ;     ctx->Eval.Map2TextureCoord4 = state;
  740.     move.b    d0,$22B5(a2)
  741. ;     
  742.     bra    L340
  743. L262
  744. ;     ctx->Eval.Map2Vertex3 = state;
  745.     move.b    d0,$22B6(a2)
  746. ;     
  747.     bra    L340
  748. L263
  749. ;     ctx->Eval.Map2Vertex4 = state;
  750.     move.b    d0,$22B7(a2)
  751. ;     
  752.     bra    L340
  753. L264
  754. ;     ctx->Transform.Normalize = state;
  755.     move.l    a2,a0
  756.     add.l    #$E53D,a0
  757.     move.b    d0,(a0)
  758. ;     
  759.     bra    L340
  760. L265
  761. ;     if (ctx->Point.SmoothFlag!=state) 
  762.     move.l    a2,a0
  763.     add.l    #$DDD0,a0
  764.     move.b    (a0),d1
  765.     cmp.b    d0,d1
  766.     beq    L340
  767. L266
  768. ;        ctx->Point.SmoothFlag = state;
  769.     move.l    a2,a0
  770.     add.l    #$DDD0,a0
  771.     move.b    d0,(a0)
  772. ;        ctx->NewState |= NEW_RASTER_OPS;
  773.     move.l    a2,a0
  774.     add.l    #$E960,a0
  775.     move.l    (a0),d0
  776.     or.l    #2,d0
  777.     move.l    a2,a0
  778.     add.l    #$E960,a0
  779.     move.l    d0,(a0)
  780. L267
  781. ;     
  782.     bra    L340
  783. L268
  784. ;     if (ctx->Polygon.SmoothFlag!=state) 
  785.     move.l    a2,a0
  786.     add.l    #$DDEE,a0
  787.     move.b    $16(a0),d1
  788.     cmp.b    d0,d1
  789.     beq    L340
  790. L269
  791. ;        ctx->Polygon.SmoothFlag = state;
  792.     move.l    a2,a0
  793.     add.l    #$DE04,a0
  794.     move.b    d0,(a0)
  795. ;        ctx->NewState |= NEW_RASTER_OPS;
  796.     move.l    a2,a0
  797.     add.l    #$E960,a0
  798.     move.l    (a0),d0
  799.     or.l    #2,d0
  800.     move.l    a2,a0
  801.     add.l    #$E960,a0
  802.     move.l    d0,(a0)
  803. L270
  804. ;     
  805.     bra    L340
  806. L271
  807. ;     if (ctx->Polygon.StippleFlag!=state) 
  808.     move.l    a2,a0
  809.     add.l    #$DDEE,a0
  810.     move.b    $17(a0),d1
  811.     cmp.b    d0,d1
  812.     beq    L340
  813. L272
  814. ;        ctx->Polygon.StippleFlag = state;
  815.     move.l    a2,a0
  816.     add.l    #$DE05,a0
  817.     move.b    d0,(a0)
  818. ;        ctx->NewState |= NEW_RASTER_OPS;
  819.     move.l    a2,a0
  820.     add.l    #$E960,a0
  821.     move.l    (a0),d0
  822.     or.l    #2,d0
  823.     move.l    a2,a0
  824.     add.l    #$E960,a0
  825.     move.l    d0,(a0)
  826. L273
  827. ;     
  828.     bra    L340
  829. L274
  830. ;     if (ctx->Polygon.OffsetPoint!=state) 
  831.     move.l    a2,a0
  832.     add.l    #$DDEE,a0
  833.     move.b    $20(a0),d1
  834.     cmp.b    d0,d1
  835.     beq    L340
  836. L275
  837. ;        ctx->Polygon.OffsetPoint = state;
  838.     move.l    a2,a0
  839.     add.l    #$DE0E,a0
  840.     move.b    d0,(a0)
  841. ;        ctx->NewState |= NEW_POLYGON;
  842.     move.l    a2,a0
  843.     add.l    #$E960,a0
  844.     move.l    (a0),d0
  845.     or.l    #$8,d0
  846.     move.l    a2,a0
  847.     add.l    #$E960,a0
  848.     move.l    d0,(a0)
  849. L276
  850. ;     
  851.     bra    L340
  852. L277
  853. ;     if (ctx->Polygon.OffsetLine!=state) 
  854.     move.l    a2,a0
  855.     add.l    #$DDEE,a0
  856.     move.b    $21(a0),d1
  857.     cmp.b    d0,d1
  858.     beq    L340
  859. L278
  860. ;        ctx->Polygon.OffsetLine = state;
  861.     move.l    a2,a0
  862.     add.l    #$DE0F,a0
  863.     move.b    d0,(a0)
  864. ;        ctx->NewState |= NEW_POLYGON;
  865.     move.l    a2,a0
  866.     add.l    #$E960,a0
  867.     move.l    (a0),d0
  868.     or.l    #$8,d0
  869.     move.l    a2,a0
  870.     add.l    #$E960,a0
  871.     move.l    d0,(a0)
  872. L279
  873. ;     
  874.     bra    L340
  875. L280
  876. ;     if (ctx->Polygon.OffsetFill!=state) 
  877.     move.l    a2,a0
  878.     add.l    #$DDEE,a0
  879.     move.b    $22(a0),d1
  880.     cmp.b    d0,d1
  881.     beq    L340
  882. L281
  883. ;        ctx->Polygon.OffsetFill = state;
  884.     move.l    a2,a0
  885.     add.l    #$DE10,a0
  886.     move.b    d0,(a0)
  887. ;        ctx->NewState |= NEW_POLYGON;
  888.     move.l    a2,a0
  889.     add.l    #$E960,a0
  890.     move.l    (a0),d0
  891.     or.l    #$8,d0
  892.     move.l    a2,a0
  893.     add.l    #$E960,a0
  894.     move.l    d0,(a0)
  895. L282
  896. ;     
  897.     bra    L340
  898. L283
  899. ;     ctx->Transform.RescaleNormals = state;
  900.     move.l    a2,a0
  901.     add.l    #$E53E,a0
  902.     move.b    d0,(a0)
  903. ;     
  904.     bra    L340
  905. L284
  906. ;     if (ctx->Scissor.Enabled!=state) 
  907.     move.l    a2,a0
  908.     add.l    #$DE92,a0
  909.     move.b    (a0),d1
  910.     cmp.b    d0,d1
  911.     beq    L340
  912. L285
  913. ;        ctx->Scissor.Enabled = state;
  914.     move.l    a2,a0
  915.     add.l    #$DE92,a0
  916.     move.b    d0,(a0)
  917. ;        ctx->NewState |= NEW_RASTER_OPS;
  918.     move.l    a2,a0
  919.     add.l    #$E960,a0
  920.     move.l    (a0),d0
  921.     or.l    #2,d0
  922.     move.l    a2,a0
  923.     add.l    #$E960,a0
  924.     move.l    d0,(a0)
  925. L286
  926. ;     
  927.     bra    L340
  928. L287
  929. ;     ctx->Texture.SharedPalette = state;
  930.     move.l    a2,a0
  931.     add.l    #$E04C,a0
  932.     move.b    d0,(a0)
  933. ;     if (ctx->Driver.UseGlobalTexturePalette)
  934.     tst.l    $9E0(a2)
  935.     beq    L340
  936. L288
  937. ;        (*ctx->Driver.UseGlobalTexturePalette)( ctx, state );
  938.     move.b    d0,-(a7)
  939.     move.l    a2,-(a7)
  940.     move.l    $9E0(a2),a0
  941.     jsr    (a0)
  942.     addq.w    #6,a7
  943. L289
  944. ;     
  945.     bra    L340
  946. L290
  947. ;     if (state && ctx->Visual->StencilBits==0) 
  948.     tst.b    d0
  949.     beq.b    L293
  950. L291
  951.     move.l    $8F8(a2),a0
  952.     tst.l    $20(a0)
  953.     bne.b    L293
  954. L292
  955. ;        gl_warning(ctx, "glEnable(GL_STENCIL_TEST) but no stencil 
  956.     move.l    #L184,-(a7)
  957.     move.l    a2,-(a7)
  958.     jsr    _gl_warning
  959.     addq.w    #$8,a7
  960.     movem.l    (a7)+,d2/d3/a2
  961.     unlk    a5
  962.     rts
  963. L293
  964. ;     if (ctx->Stencil.Enabled!=state) 
  965.     move.l    a2,a0
  966.     add.l    #$DEA4,a0
  967.     move.b    (a0),d1
  968.     cmp.b    d0,d1
  969.     beq    L340
  970. L294
  971. ;        ctx->Stencil.Enabled = state;
  972.     move.l    a2,a0
  973.     add.l    #$DEA4,a0
  974.     move.b    d0,(a0)
  975. ;        ctx->NewState |= NEW_RASTER_OPS;
  976.     move.l    a2,a0
  977.     add.l    #$E960,a0
  978.     move.l    (a0),d0
  979.     or.l    #2,d0
  980.     move.l    a2,a0
  981.     add.l    #$E960,a0
  982.     move.l    d0,(a0)
  983. L295
  984. ;     
  985.     bra    L340
  986. L296
  987. ;     if (ctx->Visual->RGBAflag) 
  988.     move.l    $8F8(a2),a0
  989.     tst.b    (a0)
  990.     beq    L340
  991. L297
  992. ;        GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
  993.     move.l    a2,a0
  994.     add.l    #$DEBA,a0
  995.     move.l    (a0),d1
  996.     moveq    #2,d2
  997.     asl.l    d2,d1
  998.     moveq    #1,d2
  999.     asl.l    d1,d2
  1000.     move.l    d2,d1
  1001. ;        if (state) 
  1002.     tst.b    d0
  1003.     beq.b    L299
  1004. L298
  1005. ;           ctx->Texture.Enabled |= bit;
  1006.     move.l    a2,a0
  1007.     add.l    #$DEC2,a0
  1008.     move.l    (a0),d0
  1009.     or.l    d1,d0
  1010.     move.l    a2,a0
  1011.     add.l    #$DEC2,a0
  1012.     move.l    d0,(a0)
  1013.     bra.b    L300
  1014. L299
  1015. ;           ctx->Texture.Enabled &= (~bit);
  1016.     not.l    d1
  1017.     move.l    a2,a0
  1018.     add.l    #$DEC2,a0
  1019.     move.l    (a0),d0
  1020.     and.l    d1,d0
  1021.     move.l    a2,a0
  1022.     add.l    #$DEC2,a0
  1023.     move.l    d0,(a0)
  1024. L300
  1025. ;        ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
  1026.     move.l    a2,a0
  1027.     add.l    #$E960,a0
  1028.     move.l    (a0),d0
  1029.     or.l    #6,d0
  1030.     move.l    a2,a0
  1031.     add.l    #$E960,a0
  1032.     move.l    d0,(a0)
  1033. L301
  1034. ;     
  1035.     bra    L340
  1036. L302
  1037. ;     if (ctx->Visual->RGBAflag) 
  1038.     move.l    $8F8(a2),a0
  1039.     tst.b    (a0)
  1040.     beq    L340
  1041. L303
  1042. ;        GLuint bit = TEXTURE0_2D << (ctx->Texture.CurrentSet * 4);
  1043.     move.l    a2,a0
  1044.     add.l    #$DEBA,a0
  1045.     move.l    (a0),d1
  1046.     moveq    #2,d2
  1047.     asl.l    d2,d1
  1048.     moveq    #2,d2
  1049.     asl.l    d1,d2
  1050.     move.l    d2,d1
  1051. ;        if (state) 
  1052.     tst.b    d0
  1053.     beq.b    L305
  1054. L304
  1055. ;           ctx->Texture.Enabled |= bit;
  1056.     move.l    a2,a0
  1057.     add.l    #$DEC2,a0
  1058.     move.l    (a0),d0
  1059.     or.l    d1,d0
  1060.     move.l    a2,a0
  1061.     add.l    #$DEC2,a0
  1062.     move.l    d0,(a0)
  1063.     bra.b    L306
  1064. L305
  1065. ;           ctx->Texture.Enabled &= (~bit);
  1066.     not.l    d1
  1067.     move.l    a2,a0
  1068.     add.l    #$DEC2,a0
  1069.     move.l    (a0),d0
  1070.     and.l    d1,d0
  1071.     move.l    a2,a0
  1072.     add.l    #$DEC2,a0
  1073.     move.l    d0,(a0)
  1074. L306
  1075. ;        ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
  1076.     move.l    a2,a0
  1077.     add.l    #$E960,a0
  1078.     move.l    (a0),d0
  1079.     or.l    #6,d0
  1080.     move.l    a2,a0
  1081.     add.l    #$E960,a0
  1082.     move.l    d0,(a0)
  1083. L307
  1084. ;     
  1085.     bra    L340
  1086. L308
  1087. ;     if (ctx->Visual->RGBAflag) 
  1088.     move.l    $8F8(a2),a0
  1089.     tst.b    (a0)
  1090.     beq    L340
  1091. L309
  1092. ;        GLuint bit = TEXTURE0_3D << (ctx->Texture.CurrentSet * 4);
  1093.     move.l    a2,a0
  1094.     add.l    #$DEBA,a0
  1095.     move.l    (a0),d1
  1096.     moveq    #2,d2
  1097.     asl.l    d2,d1
  1098.     moveq    #4,d2
  1099.     asl.l    d1,d2
  1100.     move.l    d2,d1
  1101. ;        if (state) 
  1102.     tst.b    d0
  1103.     beq.b    L311
  1104. L310
  1105. ;           ctx->Texture.Enabled |= bit;
  1106.     move.l    a2,a0
  1107.     add.l    #$DEC2,a0
  1108.     move.l    (a0),d0
  1109.     or.l    d1,d0
  1110.     move.l    a2,a0
  1111.     add.l    #$DEC2,a0
  1112.     move.l    d0,(a0)
  1113.     bra.b    L312
  1114. L311
  1115. ;           ctx->Texture.Enabled &= (~bit);
  1116.     not.l    d1
  1117.     move.l    a2,a0
  1118.     add.l    #$DEC2,a0
  1119.     move.l    (a0),d0
  1120.     and.l    d1,d0
  1121.     move.l    a2,a0
  1122.     add.l    #$DEC2,a0
  1123.     move.l    d0,(a0)
  1124. L312
  1125. ;        ctx->NewState |= (NEW_RASTER_OPS | NEW_TEXTURING);
  1126.     move.l    a2,a0
  1127.     add.l    #$E960,a0
  1128.     move.l    (a0),d0
  1129.     or.l    #6,d0
  1130.     move.l    a2,a0
  1131.     add.l    #$E960,a0
  1132.     move.l    d0,(a0)
  1133. L313
  1134. ;     
  1135.     bra    L340
  1136. L314
  1137. ;     if (state) 
  1138.     tst.b    d0
  1139.     beq.b    L316
  1140. L315
  1141. ;        ctx->Texture.Set[texSet].TexGenEnabled |= Q_BIT;
  1142.     move.l    a2,a0
  1143.     add.l    #$DEC6,a0
  1144.     muls.l    #$BC,d1
  1145.     add.l    d1,a0
  1146.     or.l    #$8,$14(a0)
  1147.     bra.b    L317
  1148. L316
  1149. ;        ctx->Texture.Set[texSet].TexGenEnabled &= ~Q_BIT;
  1150.     move.l    a2,a0
  1151.     add.l    #$DEC6,a0
  1152.     muls.l    #$BC,d1
  1153.     add.l    d1,a0
  1154.     and.l    #-$9,$14(a0)
  1155. L317
  1156. ;     ctx->NewState |= NEW_TEXTURING;
  1157.     move.l    a2,a0
  1158.     add.l    #$E960,a0
  1159.     move.l    (a0),d0
  1160.     or.l    #4,d0
  1161.     move.l    a2,a0
  1162.     add.l    #$E960,a0
  1163.     move.l    d0,(a0)
  1164. ;     
  1165.     bra    L340
  1166. L318
  1167. ;     if (state) 
  1168.     tst.b    d0
  1169.     beq.b    L320
  1170. L319
  1171. ;        ctx->Texture.Set[texSet].TexGenEnabled |= R_BIT;
  1172.     move.l    a2,a0
  1173.     add.l    #$DEC6,a0
  1174.     muls.l    #$BC,d1
  1175.     add.l    d1,a0
  1176.     or.l    #4,$14(a0)
  1177.     bra.b    L321
  1178. L320
  1179. ;        ctx->Texture.Set[texSet].TexGenEnabled &= ~R_BIT;
  1180.     move.l    a2,a0
  1181.     add.l    #$DEC6,a0
  1182.     muls.l    #$BC,d1
  1183.     add.l    d1,a0
  1184.     and.l    #-5,$14(a0)
  1185. L321
  1186. ;     ctx->NewState |= NEW_TEXTURING;
  1187.     move.l    a2,a0
  1188.     add.l    #$E960,a0
  1189.     move.l    (a0),d0
  1190.     or.l    #4,d0
  1191.     move.l    a2,a0
  1192.     add.l    #$E960,a0
  1193.     move.l    d0,(a0)
  1194. ;     
  1195.     bra    L340
  1196. L322
  1197. ;     if (state) 
  1198.     tst.b    d0
  1199.     beq    L324
  1200. L323
  1201. ;        ctx->Texture.Set[texSet].TexGenEnabled |= S_BIT;
  1202.     move.l    a2,a0
  1203.     add.l    #$DEC6,a0
  1204.     muls.l    #$BC,d1
  1205.     add.l    d1,a0
  1206.     or.l    #1,$14(a0)
  1207.     bra.b    L325
  1208. L324
  1209. ;        ctx->Texture.Set[texSet].TexGenEnabled &= ~S_BIT;
  1210.     move.l    a2,a0
  1211.     add.l    #$DEC6,a0
  1212.     muls.l    #$BC,d1
  1213.     add.l    d1,a0
  1214.     and.l    #-2,$14(a0)
  1215. L325
  1216. ;     ctx->NewState |= NEW_TEXTURING;
  1217.     move.l    a2,a0
  1218.     add.l    #$E960,a0
  1219.     move.l    (a0),d0
  1220.     or.l    #4,d0
  1221.     move.l    a2,a0
  1222.     add.l    #$E960,a0
  1223.     move.l    d0,(a0)
  1224. ;     
  1225.     bra    L340
  1226. L326
  1227. ;     if (state) 
  1228.     tst.b    d0
  1229.     beq    L328
  1230. L327
  1231. ;        ctx->Texture.Set[texSet].TexGenEnabled |= T_BIT;
  1232.     move.l    a2,a0
  1233.     add.l    #$DEC6,a0
  1234.     muls.l    #$BC,d1
  1235.     add.l    d1,a0
  1236.     or.l    #2,$14(a0)
  1237.     bra    L329
  1238. L328
  1239. ;        ctx->Texture.Set[texSet].TexGenEnabled &= ~T_BIT;
  1240.     move.l    a2,a0
  1241.     add.l    #$DEC6,a0
  1242.     muls.l    #$BC,d1
  1243.     add.l    d1,a0
  1244.     and.l    #-3,$14(a0)
  1245. L329
  1246. ;     ctx->NewState |= NEW_TEXTURING;
  1247.     move.l    a2,a0
  1248.     add.l    #$E960,a0
  1249.     move.l    (a0),d0
  1250.     or.l    #4,d0
  1251.     move.l    a2,a0
  1252.     add.l    #$E960,a0
  1253.     move.l    d0,(a0)
  1254. ;     
  1255.     bra    L340
  1256. L330
  1257. ;     ctx->Array.VertexEnabled = state;
  1258.     move.l    a2,a0
  1259.     add.l    #$E5CC,a0
  1260.     move.b    d0,(a0)
  1261. ;     
  1262.     bra    L340
  1263. L331
  1264. ;     ctx->Array.NormalEnabled = state;
  1265.     move.l    a2,a0
  1266.     add.l    #$E5DE,a0
  1267.     move.b    d0,(a0)
  1268. ;     
  1269.     bra    L340
  1270. L332
  1271. ;     ctx->Array.ColorEnabled = state;
  1272.     move.l    a2,a0
  1273.     add.l    #$E5F4,a0
  1274.     move.b    d0,(a0)
  1275. ;     
  1276.     bra    L340
  1277. L333
  1278. ;     ctx->Array.IndexEnabled = state;
  1279.     move.l    a2,a0
  1280.     add.l    #$E606,a0
  1281.     move.b    d0,(a0)
  1282. ;     
  1283.     bra    L340
  1284. L334
  1285. ;     ctx->Array.TexCoordEnabled[texSet] = state;
  1286.     move.l    a2,a0
  1287.     add.l    #$E630,a0
  1288.     move.b    d0,0(a0,d1.l)
  1289. ;     
  1290.     bra    L340
  1291. L335
  1292. ;     ctx->Array.EdgeFlagEnabled = state;
  1293.     move.l    a2,a0
  1294.     add.l    #$E642,a0
  1295.     move.b    d0,(a0)
  1296. ;     
  1297.     bra    L340
  1298. L336
  1299. ;     if (state) 
  1300.     tst.b    d0
  1301.     beq    L338
  1302. L337
  1303. ;        gl_error( ctx, GL_INVALID_ENUM, "glEnable" );
  1304.     move.l    #L181,-(a7)
  1305.     pea    $500.w
  1306.     move.l    a2,-(a7)
  1307.     jsr    _gl_error
  1308.     add.w    #$C,a7
  1309.     bra.b    L340
  1310. L338
  1311. ;        gl_error( ctx, GL_INVALID_ENUM, "glDisable" );
  1312.     move.l    #L182,-(a7)
  1313.     pea    $500.w
  1314.     move.l    a2,-(a7)
  1315.     jsr    _gl_error
  1316.     add.w    #$C,a7
  1317. L339
  1318. ;     
  1319. L340
  1320.     movem.l    (a7)+,d2/d3/a2
  1321.     unlk    a5
  1322.     rts
  1323.  
  1324. L182
  1325.     dc.b    'glDisable',0
  1326. L181
  1327.     dc.b    'glEnable',0
  1328. L183
  1329.     dc.b    'glEnable(GL_DEPTH_TEST) but no depth buffer',0
  1330. L184
  1331.     dc.b    'glEnable(GL_STENCIL_TEST) but no stencil buffer',0
  1332.  
  1333.     SECTION "_gl_Enable:0",CODE
  1334.  
  1335.     rts
  1336.  
  1337. ;void gl_Enable( GLcontext* ctx, GLenum cap )
  1338.     XDEF    _gl_Enable
  1339. _gl_Enable
  1340.     move.l    $8(a7),d0
  1341.     move.l    4(a7),a0
  1342. L373
  1343. ;   gl_enable( ctx, cap, GL_TRUE );
  1344.     move.b    #1,-(a7)
  1345.     move.l    d0,-(a7)
  1346.     move.l    a0,-(a7)
  1347.     jsr    _gl_enable
  1348.     add.w    #$A,a7
  1349.     rts
  1350.  
  1351.     SECTION "_gl_Disable:0",CODE
  1352.  
  1353.  
  1354. ;void gl_Disable( GLcontext* ctx, GLenum cap )
  1355.     XDEF    _gl_Disable
  1356. _gl_Disable
  1357.     move.l    $8(a7),d0
  1358.     move.l    4(a7),a0
  1359. L374
  1360. ;   gl_enable( ctx, cap, GL_FALSE );
  1361.     clr.b    -(a7)
  1362.     move.l    d0,-(a7)
  1363.     move.l    a0,-(a7)
  1364.     jsr    _gl_enable
  1365.     add.w    #$A,a7
  1366.     rts
  1367.  
  1368.     SECTION "_gl_IsEnabled:0",CODE
  1369.  
  1370.  
  1371. ;GLboolean gl_IsEnabled( GLcontext* ctx, GLenum cap )
  1372.     XDEF    _gl_IsEnabled
  1373. _gl_IsEnabled
  1374.     move.l    $8(a7),d0
  1375.     move.l    4(a7),a0
  1376. L376
  1377. ;   switch (cap)
  1378.     move.l    d0,d1
  1379.     cmp.l    #$DB2,d1
  1380.     beq    L403
  1381.     bgt    L456
  1382.     cmp.l    #$C11,d1
  1383.     beq    L418
  1384.     bgt    L457
  1385.     cmp.l    #$B60,d1
  1386.     beq    L385
  1387.     bgt.b    L458
  1388.     cmp.l    #$B42,d1
  1389.     beq    L413
  1390.     bgt.b    L459
  1391.     cmp.l    #$B24,d1
  1392.     beq    L389
  1393.     bgt.b    L460
  1394.     cmp.l    #$B10,d1
  1395.     beq    L411
  1396.     cmp.l    #$B20,d1
  1397.     beq    L388
  1398.     bra    L455
  1399. L460
  1400.     cmp.l    #$B41,d1
  1401.     beq    L412
  1402.     bra    L455
  1403. L459
  1404.     cmp.l    #$B50,d1
  1405.     beq    L386
  1406.     bgt.b    L461
  1407.     cmp.l    #$B44,d1
  1408.     beq    L382
  1409.     bra    L455
  1410. L461
  1411.     cmp.l    #$B57,d1
  1412.     beq    L381
  1413.     bra    L455
  1414. L458
  1415.     cmp.l    #$BD0,d1
  1416.     beq    L384
  1417.     bgt.b    L462
  1418.     cmp.l    #$BA1,d1
  1419.     beq    L410
  1420.     bgt.b    L463
  1421.     cmp.l    #$B71,d1
  1422.     beq    L383
  1423.     cmp.l    #$B90,d1
  1424.     beq    L420
  1425.     bra    L455
  1426. L463
  1427.     cmp.l    #$BC0,d1
  1428.     beq    L377
  1429.     bra    L455
  1430. L462
  1431.     cmp.l    #$BF1,d1
  1432.     beq    L390
  1433.     bgt.b    L464
  1434.     cmp.l    #$BE2,d1
  1435.     beq    L379
  1436.     bra    L455
  1437. L464
  1438.     cmp.l    #$BF2,d1
  1439.     beq    L391
  1440.     bra    L455
  1441. L457
  1442.     cmp.l    #$D93,d1
  1443.     beq    L395
  1444.     bgt.b    L465
  1445.     cmp.l    #$D80,d1
  1446.     beq    L378
  1447.     bgt.b    L466
  1448.     cmp.l    #$C62,d1
  1449.     beq    L437
  1450.     bgt.b    L467
  1451.     cmp.l    #$C60,d1
  1452.     beq    L441
  1453.     cmp.l    #$C61,d1
  1454.     beq    L445
  1455.     bra    L455
  1456. L467
  1457.     cmp.l    #$C63,d1
  1458.     beq    L433
  1459.     bra    L455
  1460. L466
  1461.     cmp.l    #$D91,d1
  1462.     beq    L393
  1463.     bgt.b    L468
  1464.     cmp.l    #$D90,d1
  1465.     beq    L392
  1466.     bra    L455
  1467. L468
  1468.     bgt    L394
  1469. L465
  1470.     cmp.l    #$D97,d1
  1471.     beq    L399
  1472.     bgt.b    L469
  1473.     cmp.l    #$D95,d1
  1474.     beq    L397
  1475.     bgt.b    L470
  1476.     blt    L396
  1477. L470
  1478.     bgt    L398
  1479. L469
  1480.     cmp.l    #$DB0,d1
  1481.     beq    L401
  1482.     bgt.b    L471
  1483.     cmp.l    #$D98,d1
  1484.     beq    L400
  1485.     bra    L455
  1486. L471
  1487.     bgt    L402
  1488. L456
  1489.     cmp.l    #$4001,d1
  1490.     beq    L387
  1491.     bgt    L472
  1492.     cmp.l    #$2A01,d1
  1493.     beq    L414
  1494.     bgt.b    L473
  1495.     cmp.l    #$DB7,d1
  1496.     beq    L408
  1497.     bgt.b    L474
  1498.     cmp.l    #$DB5,d1
  1499.     beq    L406
  1500.     bgt.b    L475
  1501.     cmp.l    #$DB3,d1
  1502.     beq    L404
  1503.     cmp.l    #$DB4,d1
  1504.     beq    L405
  1505.     bra    L455
  1506. L475
  1507.     bgt    L407
  1508. L474
  1509.     cmp.l    #$DE0,d1
  1510.     beq    L421
  1511.     bgt.b    L476
  1512.     cmp.l    #$DB8,d1
  1513.     beq    L409
  1514.     bra    L455
  1515. L476
  1516.     cmp.l    #$DE1,d1
  1517.     beq    L425
  1518.     bra    L455
  1519. L473
  1520.     cmp.l    #$3003,d1
  1521.     beq    L380
  1522.     bgt.b    L477
  1523.     cmp.l    #$3001,d1
  1524.     beq    L380
  1525.     bgt.b    L478
  1526.     cmp.l    #$2A02,d1
  1527.     beq    L415
  1528.     cmp.l    #$3000,d1
  1529.     beq    L380
  1530.     bra    L455
  1531. L478
  1532.     bgt    L380
  1533. L477
  1534.     cmp.l    #$3005,d1
  1535.     beq    L380
  1536.     bgt.b    L479
  1537.     blt    L380
  1538. L479
  1539.     cmp.l    #$4000,d1
  1540.     beq    L387
  1541.     bra    L455
  1542. L472
  1543.     cmp.l    #$806F,d1
  1544.     beq    L429
  1545.     bgt.b    L480
  1546.     cmp.l    #$4006,d1
  1547.     beq    L387
  1548.     bgt.b    L481
  1549.     cmp.l    #$4004,d1
  1550.     beq    L387
  1551.     bgt.b    L482
  1552.     cmp.l    #$4002,d1
  1553.     beq    L387
  1554.     cmp.l    #$4003,d1
  1555.     beq    L387
  1556.     bra    L455
  1557. L482
  1558.     bgt    L387
  1559. L481
  1560.     cmp.l    #$8037,d1
  1561.     beq    L416
  1562.     bgt.b    L483
  1563.     cmp.l    #$4007,d1
  1564.     beq    L387
  1565.     bra    L455
  1566. L483
  1567.     cmp.l    #$803A,d1
  1568.     beq    L417
  1569.     bra    L455
  1570. L480
  1571.     cmp.l    #$8077,d1
  1572.     beq    L452
  1573.     bgt.b    L484
  1574.     cmp.l    #$8075,d1
  1575.     beq    L450
  1576.     bgt.b    L485
  1577.     cmp.l    #$8074,d1
  1578.     beq    L449
  1579.     bra    L455
  1580. L485
  1581.     bgt    L451
  1582. L484
  1583.     cmp.l    #$8079,d1
  1584.     beq    L454
  1585.     bgt.b    L486
  1586.     blt    L453
  1587. L486
  1588.     cmp.l    #$81FB,d1
  1589.     beq    L419
  1590.     bra    L455
  1591. ;      
  1592. L377
  1593.     move.b    $21E6(a0),d0
  1594.     rts
  1595. L378
  1596.     move.b    $22B8(a0),d0
  1597.     rts
  1598. L379
  1599.     move.b    $21ED(a0),d0
  1600.     rts
  1601. L380
  1602.     add.l    #$E536,a0
  1603.     lea    -$3000(a0),a0
  1604.     move.b    0(a0,d0.l),d0
  1605.     rts
  1606. L381
  1607.     add.w    #$2318,a0
  1608.     add.l    #$8E18,a0
  1609.     move.b    (a0),d0
  1610.     rts
  1611. L382
  1612.     add.l    #$DDEE,a0
  1613.     move.b    $D(a0),d0
  1614.     rts
  1615. L383
  1616.     move.b    $22A4(a0),d0
  1617.     rts
  1618. L384
  1619.     move.b    $2215(a0),d0
  1620.     rts
  1621. L385
  1622.     move.b    $22DE(a0),d0
  1623.     rts
  1624. L386
  1625.     add.w    #$2318,a0
  1626.     add.l    #$8E06,a0
  1627.     move.b    (a0),d0
  1628.     rts
  1629. L387
  1630.     lea    $2318(a0),a0
  1631.     sub.l    #$4388000,a0
  1632.     muls.l    #$10E2,d0
  1633.     move.b    $68(a0,d0.l),d0
  1634.     rts
  1635. L388
  1636.     add.l    #$B158,a0
  1637.     move.b    (a0),d0
  1638.     rts
  1639. L389
  1640.     add.l    #$B158,a0
  1641.     move.b    1(a0),d0
  1642.     rts
  1643. L390
  1644.     move.b    $2212(a0),d0
  1645.     rts
  1646. L391
  1647.     move.b    $2213(a0),d0
  1648.     rts
  1649. L392
  1650.     move.b    $22A6(a0),d0
  1651.     rts
  1652. L393
  1653.     move.b    $22A7(a0),d0
  1654.     rts
  1655. L394
  1656.     move.b    $22A8(a0),d0
  1657.     rts
  1658. L395
  1659.     move.b    $22A9(a0),d0
  1660.     rts
  1661. L396
  1662.     move.b    $22AA(a0),d0
  1663.     rts
  1664. L397
  1665.     move.b    $22AB(a0),d0
  1666.     rts
  1667. L398
  1668.     move.b    $22AC(a0),d0
  1669.     rts
  1670. L399
  1671.     move.b    $22AD(a0),d0
  1672.     rts
  1673. L400
  1674.     move.b    $22AE(a0),d0
  1675.     rts
  1676. L401
  1677.     move.b    $22AF(a0),d0
  1678.     rts
  1679. L402
  1680.     move.b    $22B0(a0),d0
  1681.     rts
  1682. L403
  1683.     move.b    $22B1(a0),d0
  1684.     rts
  1685. L404
  1686.     move.b    $22B2(a0),d0
  1687.     rts
  1688. L405
  1689.     move.b    $22B3(a0),d0
  1690.     rts
  1691. L406
  1692.     move.b    $22B4(a0),d0
  1693.     rts
  1694. L407
  1695.     move.b    $22B5(a0),d0
  1696.     rts
  1697. L408
  1698.     move.b    $22B6(a0),d0
  1699.     rts
  1700. L409
  1701.     move.b    $22B7(a0),d0
  1702.     rts
  1703. L410
  1704.     add.l    #$E4D2,a0
  1705.     move.b    $6B(a0),d0
  1706.     rts
  1707. L411
  1708.     add.l    #$DDD0,a0
  1709.     move.b    (a0),d0
  1710.     rts
  1711. L412
  1712.     add.l    #$DDEE,a0
  1713.     move.b    $16(a0),d0
  1714.     rts
  1715. L413
  1716.     add.l    #$DDEE,a0
  1717.     move.b    $17(a0),d0
  1718.     rts
  1719. L414
  1720.     add.l    #$DDEE,a0
  1721.     move.b    $20(a0),d0
  1722.     rts
  1723. L415
  1724.     add.l    #$DDEE,a0
  1725.     move.b    $21(a0),d0
  1726.     rts
  1727. L416
  1728.     add.l    #$DDEE,a0
  1729.     move.b    $22(a0),d0
  1730.     rts
  1731. L417
  1732.     add.l    #$E4D2,a0
  1733.     move.b    $6C(a0),d0
  1734.     rts
  1735. L418
  1736.     add.l    #$DE92,a0
  1737.     move.b    (a0),d0
  1738.     rts
  1739. L419
  1740.     add.l    #$DEBA,a0
  1741.     move.b    $192(a0),d0
  1742.     rts
  1743. L420
  1744.     add.l    #$DEA4,a0
  1745.     move.b    (a0),d0
  1746.     rts
  1747. L421
  1748. ;        GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
  1749.     move.l    a0,a1
  1750.     add.l    #$DEBA,a1
  1751.     move.l    (a1),d0
  1752.     moveq    #2,d1
  1753.     asl.l    d1,d0
  1754.     moveq    #1,d1
  1755.     asl.l    d0,d1
  1756.     add.l    #$DEBA,a0
  1757.     move.l    $8(a0),d0
  1758.     and.l    d1,d0
  1759.     beq.b    L423
  1760. L422
  1761.     moveq    #1,d0
  1762.     bra.b    L424
  1763. L423
  1764.     moveq    #0,d0
  1765. L424
  1766.     rts
  1767. L425
  1768. ;        GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
  1769.     move.l    a0,a1
  1770.     add.l    #$DEBA,a1
  1771.     move.l    (a1),d0
  1772.     moveq    #2,d1
  1773.     asl.l    d1,d0
  1774.     moveq    #1,d1
  1775.     asl.l    d0,d1
  1776.     add.l    #$DEBA,a0
  1777.     move.l    $8(a0),d0
  1778.     and.l    d1,d0
  1779.     beq.b    L427
  1780. L426
  1781.     moveq    #1,d0
  1782.     bra.b    L428
  1783. L427
  1784.     moveq    #0,d0
  1785. L428
  1786.     rts
  1787. L429
  1788. ;        GLuint bit = TEXTURE0_1D << (ctx->Texture.CurrentSet * 4);
  1789.     move.l    a0,a1
  1790.     add.l    #$DEBA,a1
  1791.     move.l    (a1),d0
  1792.     moveq    #2,d1
  1793.     asl.l    d1,d0
  1794.     moveq    #1,d1
  1795.     asl.l    d0,d1
  1796.     add.l    #$DEBA,a0
  1797.     move.l    $8(a0),d0
  1798.     and.l    d1,d0
  1799.     beq.b    L431
  1800. L430
  1801.     moveq    #1,d0
  1802.     bra.b    L432
  1803. L431
  1804.     moveq    #0,d0
  1805. L432
  1806.     rts
  1807. L433
  1808. ;        const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
  1809.     move.l    a0,a1
  1810.     add.l    #$DEC6,a1
  1811.     add.l    #$DEBA,a0
  1812.     move.l    (a0),d0
  1813.     muls.l    #$BC,d0
  1814.     move.l    $14(a1,d0.l),d0
  1815.     and.l    #$8,d0
  1816.     beq.b    L435
  1817. L434
  1818.     moveq    #1,d0
  1819.     bra.b    L436
  1820. L435
  1821.     moveq    #0,d0
  1822. L436
  1823.     rts
  1824. L437
  1825. ;        const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
  1826.     move.l    a0,a1
  1827.     add.l    #$DEC6,a1
  1828.     add.l    #$DEBA,a0
  1829.     move.l    (a0),d0
  1830.     muls.l    #$BC,d0
  1831.     move.l    $14(a1,d0.l),d0
  1832.     and.l    #4,d0
  1833.     beq.b    L439
  1834. L438
  1835.     moveq    #1,d0
  1836.     bra.b    L440
  1837. L439
  1838.     moveq    #0,d0
  1839. L440
  1840.     rts
  1841. L441
  1842. ;        const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
  1843.     move.l    a0,a1
  1844.     add.l    #$DEC6,a1
  1845.     add.l    #$DEBA,a0
  1846.     move.l    (a0),d0
  1847.     muls.l    #$BC,d0
  1848.     move.l    $14(a1,d0.l),d0
  1849.     and.l    #1,d0
  1850.     beq.b    L443
  1851. L442
  1852.     moveq    #1,d0
  1853.     bra.b    L444
  1854. L443
  1855.     moveq    #0,d0
  1856. L444
  1857.     rts
  1858. L445
  1859. ;        const struct gl_texture_set *texSet = &ctx->Texture.Set[ct
  1860.     move.l    a0,a1
  1861.     add.l    #$DEC6,a1
  1862.     add.l    #$DEBA,a0
  1863.     move.l    (a0),d0
  1864.     muls.l    #$BC,d0
  1865.     move.l    $14(a1,d0.l),d0
  1866.     and.l    #2,d0
  1867.     beq.b    L447
  1868. L446
  1869.     moveq    #1,d0
  1870.     bra.b    L448
  1871. L447
  1872.     moveq    #0,d0
  1873. L448
  1874.     rts
  1875. L449
  1876.     add.l    #$E5B8,a0
  1877.     move.b    $14(a0),d0
  1878.     rts
  1879. L450
  1880.     add.l    #$E5B8,a0
  1881.     move.b    $26(a0),d0
  1882.     rts
  1883. L451
  1884.     add.l    #$E5B8,a0
  1885.     move.b    $3C(a0),d0
  1886.     rts
  1887. L452
  1888.     add.l    #$E5B8,a0
  1889.     move.b    $4E(a0),d0
  1890.     rts
  1891. L453
  1892. ;        GLuint texSet = ctx->Texture.CurrentSet;
  1893.     move.l    a0,a1
  1894.     add.l    #$DEBA,a1
  1895.     add.l    #$E630,a0
  1896.     move.l    (a1),d0
  1897.     move.b    0(a0,d0.l),d0
  1898.     rts
  1899. L454
  1900.     add.l    #$E5B8,a0
  1901.     move.b    $8A(a0),d0
  1902.     rts
  1903. L455
  1904. ;     gl_error( ctx, GL_INVALID_ENUM, "glIsEnabled" );
  1905.     move.l    #L375,-(a7)
  1906.     pea    $500.w
  1907.     move.l    a0,-(a7)
  1908.     jsr    _gl_error
  1909.     add.w    #$C,a7
  1910.     moveq    #0,d0
  1911.     rts
  1912.  
  1913. L375
  1914.     dc.b    'glIsEnabled',0
  1915.  
  1916.     SECTION "_gl_client_state:0",CODE
  1917.  
  1918.  
  1919. ;void gl_client_state( GLcontext *ctx, GLenum cap, GLboolean state )
  1920.     XDEF    _gl_client_state
  1921. _gl_client_state
  1922.     move.l    d2,-(a7)
  1923.     move.b    $10(a7),d0
  1924.     move.l    $C(a7),d1
  1925.     move.l    $8(a7),a0
  1926. L488
  1927. ;   switch (cap)
  1928.     sub.l    #$8074,d1
  1929.     cmp.l    #5,d1
  1930.     bhi.b    L495
  1931.     move.l    L497(pc,d1.l*4),a1
  1932.     jmp    (a1)
  1933. L497
  1934.     dc.l    L489
  1935.     dc.l    L490
  1936.     dc.l    L491
  1937.     dc.l    L492
  1938.     dc.l    L493
  1939.     dc.l    L494
  1940. ;      
  1941. L489
  1942. ;     ctx->Array.VertexEnabled = state;
  1943.     add.l    #$E5CC,a0
  1944.     move.b    d0,(a0)
  1945. ;     
  1946.     bra.b    L496
  1947. L490
  1948. ;     ctx->Array.NormalEnabled = state;
  1949.     add.l    #$E5DE,a0
  1950.     move.b    d0,(a0)
  1951. ;     
  1952.     bra.b    L496
  1953. L491
  1954. ;     ctx->Array.ColorEnabled = state;
  1955.     add.l    #$E5F4,a0
  1956.     move.b    d0,(a0)
  1957. ;     
  1958.     bra.b    L496
  1959. L492
  1960. ;     ctx->Array.IndexEnabled = state;
  1961.     add.l    #$E606,a0
  1962.     move.b    d0,(a0)
  1963. ;     
  1964.     bra.b    L496
  1965. L493
  1966. ;        GLuint texSet = ctx->Texture.CurrentSet;
  1967.     move.l    a0,a1
  1968.     add.l    #$DEBA,a1
  1969. ;        ctx->Array.TexCoordEnabled[texSet] = state;
  1970.     add.l    #$E630,a0
  1971.     move.l    (a1),d1
  1972.     move.b    d0,0(a0,d1.l)
  1973. ;     
  1974.     bra.b    L496
  1975. L494
  1976. ;     ctx->Array.EdgeFlagEnabled = state;
  1977.     add.l    #$E642,a0
  1978.     move.b    d0,(a0)
  1979. ;     
  1980.     bra.b    L496
  1981. L495
  1982. ;     gl_error( ctx, GL_INVALID_ENUM, "glEnable/DisableClientState" );
  1983.     move.l    #L487,-(a7)
  1984.     pea    $500.w
  1985.     move.l    a0,-(a7)
  1986.     jsr    _gl_error
  1987.     add.w    #$C,a7
  1988. L496
  1989.     move.l    (a7)+,d2
  1990.     rts
  1991.  
  1992. L487
  1993.     dc.b    'glEnable/DisableClientState',0
  1994.  
  1995.     SECTION "_gl_EnableClientState:0",CODE
  1996.  
  1997.  
  1998. ;void gl_EnableClientState( GLcontext *ctx, GLenum cap )
  1999.     XDEF    _gl_EnableClientState
  2000. _gl_EnableClientState
  2001.     move.l    $8(a7),d0
  2002.     move.l    4(a7),a0
  2003. L498
  2004. ;   gl_client_state( ctx, cap, GL_TRUE );
  2005.     move.b    #1,-(a7)
  2006.     move.l    d0,-(a7)
  2007.     move.l    a0,-(a7)
  2008.     jsr    _gl_client_state
  2009.     add.w    #$A,a7
  2010.     rts
  2011.  
  2012.     SECTION "_gl_DisableClientState:0",CODE
  2013.  
  2014.  
  2015. ;void gl_DisableClientState( GLcontext *ctx, GLenum cap )
  2016.     XDEF    _gl_DisableClientState
  2017. _gl_DisableClientState
  2018.     move.l    $8(a7),d0
  2019.     move.l    4(a7),a0
  2020. L499
  2021. ;   gl_client_state( ctx, cap, GL_FALSE );
  2022.     clr.b    -(a7)
  2023.     move.l    d0,-(a7)
  2024.     move.l    a0,-(a7)
  2025.     jsr    _gl_client_state
  2026.     add.w    #$A,a7
  2027.     rts
  2028.  
  2029.     END
  2030.